#!/bin/sh

your_name="elvis"
echo $your_name
echo ${your_name}

for skill in Ada Coffe Action Java; do
	echo "I am good at ${skill}Script"
done

#for skill in Ada Coffe Action Java; do
	#echo "I am good at $skillScript"
#done

your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name

# 使用 readonly 命令可以将变量定义为只读变量，只读变量的值不能被改变,下面的例子尝试更改只读变量，结果报错：

myUrl="http://www.google.com"
readonly myUrl
#myUrl="http://www.baidu.com"

# 使用 unset 命令可以删除变量。语法：

name="haha"
echo "before: $name"
unset name
echo "later: $name"

#变量被删除后不能再次使用。unset 命令不能删除只读变量。

# 单引号
# 单引号里的任何字符都会原样输出，单引号字符串中的变量是无效的；
# 单引号字串中不能出现单独一个的单引号（对单引号使用转义符后也不行），但可成对出现，作为字符串拼接使用。

str='this is a string'
echo $str

# 双引号
your_name='elvis'
str="Hello, I know you are \"$your_name\"! \n"
echo $str

#双引号的优点：
#1. 双引号里可以有变量
#2. 双引号里可以出现转义字符

## 拼接字符串

your_name="elvis"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1

# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3

# Shell 数组
# sh不支持数组
# bash支持一维数组（不支持多维数组），并且没有限定数组的大小。
# 类似于 C 语言，数组元素的下标由 0 开始编号。获取数组中的元素要利用下标，下标可以是整数或算术表达式，其值应大于或等于 0。

#my_array=(1 2 3 4 5 6 7 8 9 10)
#echo "${my_array[4]}"
